Effectiveness and Computability

#mathematical_logic

Sentential Logic

在不严谨地定义 effective 下给出 effective procedure 的特征:

在这样不严谨的讨论环境下,我们的讨论范围无法囊括形如 “某一过程不存在 effective procedure” 的断言,不过对于正面的论证 effective procedure 的存在性时,直接给出符合以上特征的过程在一定程度上是可以接受的。

对于形式语言系统而言,我们讨论的对象都是表达式,表达式的全集是可数的。

可判定性(Decidability):(狭义的,注意区别于计算理论中的可判定性)可判定性可以定义为:表达式集合 Σ 是可判定的,当且仅当存在一个 effective procedure,其接受任意一个表达式 α 作为输入,并输出 αΣ 的正确性。

Theorem 1:所有 wff 构成的集合 U 是可判定的。

可以利用 wff 的 parsing algorithm 来直接通过公式的结构判断。另一方面,由于 wff 构成的集合是 countable 的,所以也可以通过枚举比对来实现?wff 构成的集合是无限的,不能直接以列举的形式作为输入。

Theorem 2:存在 effective procedure,接受有限的 wff 集合 Σ 以及 wff τ 作为输入,并判断 Σ tautologically imply τ 的正确性。

由于 Σ 的有限性,其真值表也是有限的,从而可以枚举真值表的有限取值。

Corollary:对于任意有限的 wff 集合 Σ ,其 tautological consequences 是可判定的。特别地,所有重言式构成的集合是可判定的。

可有效枚举性(Effectively Enumerability):其与半可判定性都是一种较弱的 "可判定性",定义为:表达式集合 Σ 是可有效枚举的,当且仅当 Σ 可数(对于 Sentential Logic 而言这是正确的)且对于某个枚举 E,存在一个 effective procedure,其接受 Σ 的一个元素 ϕ 作为输入,输出 Eϕ 结尾的前缀序列。特别地,当 Σ 有限时,这个定义等价于可以将 Σ 的所有元素以一定顺序输出。

半可判定性(Semidecidability):表达式集合 Σ 是半可判定的,当且仅当存在 effective procedure,其接受一个表达式 α 作为输入,如果 αΣ,那么输出"正确"。

Theorem 3:表达式集合 Σ 的半可判定性与可有效枚举性是等价的。

Σ 可有效枚举,那么存在 effective procedure P,当 αΣ 时,以 α 作为输入执行 P 必有输出,构造 Q :以 α 作为输入执行 P,当 P 输出时,输出 "正确",从而 Σ 是半可判定的。

Σ 半可判定,假设有效程序为 Q,由于 Sentential Logic 中 wff 集合是可数的,所以我们枚举 wff:φ1,φ2,φ3,,我们定义任务 i 为以 φi 作为输入执行 Q(即半判定 φiΣ),由于半判定程序不一定有输出,所以不能一个任务执行到死,将 P 定义为以 α 为输入的如下伪代码,由于 P 的输出是一个以 α 结尾的由 Σ 中元素构成的序列,所以 Σ 是半可判定的。

for (i = 1; ; i++)
	for (j = 1; j <= i; ++j)
		if task_i not ended
			do task_i for 1 second
			if task_i output "yes"
				output_list append varphi_i
				if varphi_i == alpha
					terminate and output output_list

其中任务的时间分配保证了每个任务都会被充分地执行(”充分“解释为任务如果没有结束那么其执行时间随着 P 运行时间的增加可以任意大),任务时间分配方案不是唯一的,只要保证“每个任务都被充分执行”即可。

注意此处如果 P 不终止的话,给定任何 Σ 中的元素 τ,经过有限的时间后 P 的输出序列可以包含 τ

Kleene’s Theorem:表达式集合 Σ 可判定当且仅当 ΣUΣ 均半可判定

充分性是显然的。必要性可以通过类似 Theorem 3 的任务时间分配机制交替执行 Σ 半判定 αUΣ 半判定 α 得到证明。

可判定集合构成的类、半可判定集合构成的类在集合交、集合并、集合补集操作下都是封闭的。

Theorem 4:如果 wff 集合 Σ 是半可判定集,那么 Σ 的 tautological consequences 构成的集合是半可判定的

Theorem 2 中判定有限 wff 集合的 tautological consequence 的一个 effective procedure 为 P。考虑 Σ 的某一个枚举(半可判定必可数;利用对应的半可判定程序可以生成这样的序列):σ1,σ2,σ3,。对于任意 wff τ,确认 Στ 的正确性的半可判定程序 Q 可以定义为利用 P 依次确认 τ,{σ1}τ,{σ1,σ2}τ, 。根据 Sentential Logic 的紧致性定理可以知道 ΣτQ 一定会输出。

First-Order Logic

符号声明:

定义 Reasonable Language 为满足以下要求的(一阶逻辑)语言:

仅仅包含有限参数的语言,称为有限语言(Finite Language),显然是 reasonable language。

Enumerability Theorem:对于 reasonable language 而言,valid wffs 构成的集合可以被有效枚举。

对于给定的 expression (reasonableness 决定了可以给定),τ 等价于 τ,构造程序:首先判断是否为 wff,再判断是否属于 ΛΛ 可判定),再判断是否 Λτ(等价于 Λ tautologically imply τ,根据 Sentential Logic 的 Theorem 4 可以完成半可判定的判断)。

进一步地,如果限定为 finite language,也无法保证 valid wffs 是可判定的(因为 Λ 不一定是有限的)

CorollaryΓ 是 reasonable language 下的可判定的一个公式集合,那么 Γ 的 theorems(或者 Γ 的 logical consequences)所构成的集合是可有效枚举的

Proof 1: 由于 reduction inference 只涉及 sentential logic,所以如果 τΓ 的 theorem,那么 ΓΛ tautologically imply τ,因为 ΓΛ 是可判定的,依 Sentential Logic Theorem 4 ΓΛ 的 tautological consequences 是可以有效枚举的。

Proof 2: Γ 的 tautological consequences 本质是 Γ 本身在“所有普遍正确的公式(valid wff)”的假设下利用 modus ponens 进行扩充的结果,而所有 valid wffs 恰恰是用 Λ 经 modus pones 的生成集合。枚举所有 valid wff,对于具有形式 αnαn1α1α0 的 valid wff,如果 α1,α2,,αnΓ 中(可判定的),那么将 α0 加入 Γ 的输出序列。Proof 2 是对 Proof 1 的具象化。

在构建公理化的理论时,我们期望我们的公理集合是可判定的,这意味着我们公理化的证明是"可以验证"的。

CorollaryΓ 是 reasonable language 下的可判定的一个公式集合,若任意 sentence σ 都有 Γσ 或者 Γ¬σ,那么集合 {σ is a sentence|Γσ} 是可判定的。

"任意 sentence 都有 Γσ 或者 Γ¬σ" 意味着如果 Γ 是一致的那么 Γ 是语义完备的(Semantically Complete),即 Γ 足够强大,以至于可以决定任意 sentence 的真假。稠密无端点线性序是一个常见的语义完备的理论。在模型论中,可以用 Łoś-Vaught 判别法来充分地判断一个理论是否为语义完备的。

Γ inconsistent 时是显然的。Γ consistent 时,给定 σ,枚举 Γ 的 logical consequences 并判断是否为 σ¬σ 。在 Γ 语义完备时,我们可以确保 σ¬σ 至少其一在 Γ 的 logical consequences 中出现。

注意在此处我们并不需要判断 Γ 时 inconsistent 还是 consistent,因为它不是作为输入而是作为参数存在的,无论 Γ 是否一致存在都存在对应的 effective procedure。